/**
 * @project_name staff_vehicle
 * @package_name com.ssh.dao
 * @desc TODO
 * @param
 * @author jack
 * @date 2013-4-25
 * @time 上午10:36:58
 */
package com.ssh.dao;

import java.sql.Timestamp;
import java.util.List;

import com.ssh.entity.FcarInout;

/**
 * @author jack
 *
 */
public interface FcarInoutDAOI {
	public FcarInout queryById(String id);
	public List<FcarInout> queryByParam(String param);
	public FcarInout queryByOutTime(Timestamp timestamp);
	public List<FcarInout> queryByInTime(Timestamp miniInTime,Timestamp maxInTime);
	public List<FcarInout> queryByInTime(String fcardId,Timestamp inTime);
	public List<FcarInout> queryByInTime(String fcardId,Timestamp miniInTime,Timestamp maxInTime);
	public List<FcarInout> queryByOutTime(Timestamp miniInTime,Timestamp maxInTime);
	public List<FcarInout> queryByOutTime(String fcardId,Timestamp miniInTime,Timestamp maxInTime);
	public List<FcarInout> queryByInOutTime
	            (Timestamp miniInTime,Timestamp maxInTime,Timestamp miniOutTime,Timestamp maxOutTime);
	public List<FcarInout> queryByInOutTimeAndFcardId
	           (String fcardId,Timestamp miniInTime,Timestamp maxInTime,Timestamp miniOutTime,Timestamp maxOutTime);

	public FcarInout queryByInTime(Timestamp timestamp);
	public int deleteById(String id);
	public int deleteByFCardId(String fCardId);
	public int deleteByFcarInout(FcarInout fcarInout);
	public int deleteFcarInoutList(FcarInout fcarInout);
	public FcarInout updateByFcarInout(FcarInout fcarInout);
	public int updateByFcarInoutList(List<FcarInout> fcarInout);
	public FcarInout addFcarInout(FcarInout fcarInout);
	public int addFcarInoutList(List<FcarInout> fcarInoutList);
	public int countById(String id);
	public FcarInout queryLatestIn(String fcardId);
	public FcarInout queryLatestOut(String fcardId);

	/**
	 * @param cardId
	 * @return
	 */
	public FcarInout queryInByCardId(String cardId);

}
